package com.jsg.sl651.message.parser.model;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;
import lombok.experimental.Accessors;

/**
 * 将一个小时分为每五分钟计算一次，共计12个数值
 */
@Data
@AllArgsConstructor
@Accessors(chain = true)
public class EveryFiveMinuteData {
    // 第一个五分钟数据
    private Double data1;
    // 第二个五分钟数据
    private Double data2;
    // 第三个五分钟数据
    private Double data3;
    // 第四个五分钟数据
    private Double data4;
    // 第五个五分钟数据
    private Double data5;
    // 第六个五分钟数据
    private Double data6;
    // 第七个五分钟数据
    private Double data7;
    // 第八个五分钟数据
    private Double data8;
    // 第九个五分钟数据
    private Double data9;
    // 第十个五分钟数据
    private Double data10;
    // 第十一个五分钟数据
    private Double data11;
    // 第十二个五分钟数据
    private Double data12;

    public EveryFiveMinuteData(Integer[] finalData, int precision) {
        this.data1 = toDouble(finalData[0], precision);
        this.data2 = toDouble(finalData[1], precision);
        this.data3 = toDouble(finalData[2], precision);
        this.data4 = toDouble(finalData[3], precision);
        this.data5 = toDouble(finalData[4], precision);
        this.data6 = toDouble(finalData[5], precision);
        this.data7 = toDouble(finalData[6], precision);
        this.data8 = toDouble(finalData[7], precision);
        this.data9 = toDouble(finalData[8], precision);
        this.data10 = toDouble(finalData[9], precision);
        this.data11 = toDouble(finalData[10], precision);
        this.data12 = toDouble(finalData[11], precision);
    }

    private static Double toDouble(Integer value, int precision) {
        return value / Math.pow(10, precision);
    }


    public String toString() {
        return  "0-5分钟数据:" + data1 +
                ",5-10分钟数据:" + data2 +
                ",10-15分钟数据:" + data3 +
                ",15-20分钟数据:" + data4 +
                ",20-25分钟数据:" + data5 +
                ",25-30分钟数据:" + data6 +
                ",30-35分钟数据:" + data7 +
                ",35-40分钟数据:" + data8 +
                ",40-45分钟数据:" + data9 +
                ",45-50分钟数据:" + data10 +
                ",50-55分钟数据:" + data11 +
                ",55-60分钟数据:" + data12;
    }

}
